--- /dev/null
+# Makefile for dracut module
+#
+# Copyright (C) 2013 Colin Walters <walters@verbum.org>
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the
+# Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+# Boston, MA 02111-1307, USA.
+
+if BUILDOPT_DRACUT
+# Not using $(libdir) here is intentional, dracut modules go in prefix/lib
+dracutmoddir = $(prefix)/lib/dracut/modules.d/98ostree
+dracutmod_SCRIPTS = src/boot/dracut/module-setup.sh
+
+dracutconfdir = $(sysconfdir)/dracut.conf.d
+dracutconf_DATA = src/boot/dracut/ostree.conf
+endif
+
+if BUILDOPT_MKINITCPIO
+mkinitcpioinstalldir = $(prefix)/lib/initcpio/install
+mkinitcpioinstall_SCRIPTS = src/boot/mkinitcpio/ostree
+
+mkinitcpioconfdir = $(sysconfdir)
+mkinitcpioconf_DATA = src/boot/mkinitcpio/ostree-mkinitcpio.conf
+endif
+
+if BUILDOPT_SYSTEMD
+systemdsystemunit_DATA = src/boot/ostree-prepare-root.service \
+ src/boot/ostree-remount.service
+endif
+
+EXTRA_DIST += src/boot/dracut/module-setup.sh \
+ src/boot/dracut/ostree.conf \
+ src/boot/mkinitcpio/ostree \
+ src/boot/ostree-prepare-root.service \
+ src/boot/ostree-remount.service \
+ $(NULL)
+
+++ /dev/null
-# Makefile for dracut module
-#
-# Copyright (C) 2013 Colin Walters <walters@verbum.org>
-#
-# This library is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Lesser General Public
-# License as published by the Free Software Foundation; either
-# version 2 of the License, or (at your option) any later version.
-#
-# This library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public
-# License along with this library; if not, write to the
-# Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-# Boston, MA 02111-1307, USA.
-
-if BUILDOPT_DRACUT
-# Not using $(libdir) here is intentional, dracut modules go in prefix/lib
-dracutmoddir = $(prefix)/lib/dracut/modules.d/98ostree
-dracutmod_SCRIPTS = src/dracut/module-setup.sh
-dracutmod_DATA = src/dracut/ostree-prepare-root.service
-
-systemdsystemunit_DATA = src/dracut/ostree-remount.service
-
-dracutconfdir = $(sysconfdir)/dracut.conf.d
-dracutconf_DATA = src/dracut/ostree.conf
-endif
-
-EXTRA_DIST += src/dracut/module-setup.sh \
- src/dracut/ostree-prepare-root.service \
- src/dracut/ostree-remount.service \
- src/dracut/ostree.conf \
- $(NULL)
-
# Free Software Foundation, Inc., 59 Temple Place - Suite 330,
# Boston, MA 02111-1307, USA.
-if BUILDOPT_DRACUT
+if BUILDOPT_SYSTEMD
sbin_PROGRAMS += ostree-prepare-root
sbin_PROGRAMS += ostree-remount
noinst_LTLIBRARIES += libswitchroot-mountutil.la
include Makefile-ostree.am
include Makefile-switchroot.am
include Makefile-tests.am
-include Makefile-dracut.am
+include Makefile-boot.am
install-data-hook: $(INSTALL_DATA_HOOKS)
[with_dracut=no])
AM_CONDITIONAL(BUILDOPT_DRACUT, test x$with_dracut = xyes)
-AS_IF([test "x$with_dracut" = "xyes"], [
+AC_ARG_WITH(mkinitcpio,
+ AS_HELP_STRING([--with-mkinitcpio],
+ [Install mkinitcpio module (default: no)]),,
+ [with_mkinitcpio=no])
+AM_CONDITIONAL(BUILDOPT_MKINITCPIO, test x$with_mkinitcpio = xyes)
+
+AS_IF([test "x$with_dracut" = "xyes" || test "x$with_mkinitcpio" = "xyes"], [
+ with_systemd=yes
AC_ARG_WITH([systemdsystemunitdir],
AS_HELP_STRING([--with-systemdsystemunitdir=DIR], [Directory for systemd service files]),
[],
AC_SUBST([systemdsystemunitdir], [$with_systemdsystemunitdir])
])
])
+AM_CONDITIONAL(BUILDOPT_SYSTEMD, test x$with_systemd = xyes)
dnl for tests
AS_IF([test "x$found_introspection" = xyes], [
gpgme (sign commits): $with_gpgme
documentation: $enable_gtk_doc
gjs-based tests: $have_gjs
- dracut: $with_dracut"
-AS_IF([test "x$with_dracut" = "xyes"], [
+ dracut: $with_dracut
+ mkinitcpio: $with_mkinitcpio"
+AS_IF([test "x$with_systemd" = "xyes"], [
echo " systemd unit dir: $with_systemdsystemunitdir"
])
echo ""
--- /dev/null
+#!/bin/bash
+# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
+# ex: ts=8 sw=4 sts=4 et filetype=sh
+#
+# Copyright (C) 2013 Colin Walters <walters@verbum.org>
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the
+# Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+# Boston, MA 02111-1307, USA.
+
+check() {
+ if [[ -x $systemdutildir/systemd ]] && [[ -x /usr/sbin/ostree-prepare-root ]]; then
+ return 255
+ fi
+
+ return 1
+}
+
+depends() {
+ return 0
+}
+
+install() {
+ dracut_install ostree-prepare-root
+ inst_simple "${systemdsystemunitdir}/ostree-prepare-root.service"
+ mkdir -p "${initdir}${systemdsystemconfdir}/initrd-switch-root.target.wants"
+ ln_r "${systemdsystemunitdir}/ostree-prepare-root.service" \
+ "${systemdsystemconfdir}/initrd-switch-root.target.wants/ostree-prepare-root.service"
+}
+
--- /dev/null
+# Copyright (C) 2013 Colin Walters <walters@verbum.org>
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the
+# Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+# Boston, MA 02111-1307, USA.
+
+add_dracutmodules+=" ostree systemd "
--- /dev/null
+#!/bin/bash
+
+build() {
+ add_binary /usr/sbin/ostree-prepare-root
+ add_binary /usr/sbin/ostree-remount
+
+ add_file /usr/lib/systemd/system/ostree-prepare-root.service
+ add_symlink /usr/lib/systemd/system/initrd-switch-root.target.wants/ostree-prepare-root.service \
+ /usr/lib/systemd/system/ostree-prepare-root.service
+}
--- /dev/null
+HOOKS="base systemd ostree autodetect modconf block filesystems keyboard fsck"
--- /dev/null
+# Copyright (C) 2013 Colin Walters <walters@verbum.org>
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the
+# Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+# Boston, MA 02111-1307, USA.
+
+[Unit]
+Description=OSTree Prepare OS/
+DefaultDependencies=no
+ConditionKernelCommandLine=ostree
+ConditionPathExists=/etc/initrd-release
+OnFailure=emergency.service
+After=initrd-switch-root.target
+Before=initrd-switch-root.service
+
+[Service]
+Type=oneshot
+ExecStart=/usr/sbin/ostree-prepare-root /sysroot
+StandardInput=null
+StandardOutput=syslog
+StandardError=syslog+console
--- /dev/null
+# Copyright (C) 2013 Colin Walters <walters@verbum.org>
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the
+# Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+# Boston, MA 02111-1307, USA.
+
+[Unit]
+Description=OSTree Remount OS/ bind mounts
+DefaultDependencies=no
+ConditionKernelCommandLine=ostree
+OnFailure=emergency.service
+Conflicts=umount.target
+After=-.mount
+After=systemd-remount-fs.service
+Before=local-fs.target umount.target
+
+[Service]
+Type=oneshot
+ExecStart=/usr/sbin/ostree-remount
+StandardInput=null
+StandardOutput=syslog
+StandardError=syslog+console
+
+[Install]
+WantedBy=local-fs.target
+++ /dev/null
-#!/bin/bash
-# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
-# ex: ts=8 sw=4 sts=4 et filetype=sh
-#
-# Copyright (C) 2013 Colin Walters <walters@verbum.org>
-#
-# This library is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Lesser General Public
-# License as published by the Free Software Foundation; either
-# version 2 of the License, or (at your option) any later version.
-#
-# This library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public
-# License along with this library; if not, write to the
-# Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-# Boston, MA 02111-1307, USA.
-
-check() {
- if [[ -x $systemdutildir/systemd ]] && [[ -x /usr/sbin/ostree-prepare-root ]]; then
- return 255
- fi
-
- return 1
-}
-
-depends() {
- return 0
-}
-
-install() {
- dracut_install ostree-prepare-root
- inst_simple "$moddir/ostree-prepare-root.service" "${systemdsystemunitdir}/ostree-prepare-root.service"
- mkdir -p "${initdir}${systemdsystemconfdir}/initrd-switch-root.target.wants"
- ln_r "${systemdsystemunitdir}/ostree-prepare-root.service" \
- "${systemdsystemconfdir}/initrd-switch-root.target.wants/ostree-prepare-root.service"
-}
-
+++ /dev/null
-# Copyright (C) 2013 Colin Walters <walters@verbum.org>
-#
-# This library is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Lesser General Public
-# License as published by the Free Software Foundation; either
-# version 2 of the License, or (at your option) any later version.
-#
-# This library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public
-# License along with this library; if not, write to the
-# Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-# Boston, MA 02111-1307, USA.
-
-[Unit]
-Description=OSTree Prepare OS/
-DefaultDependencies=no
-ConditionKernelCommandLine=ostree
-ConditionPathExists=/etc/initrd-release
-OnFailure=emergency.service
-After=initrd-switch-root.target
-Before=initrd-switch-root.service
-
-[Service]
-Type=oneshot
-ExecStart=/usr/sbin/ostree-prepare-root /sysroot
-StandardInput=null
-StandardOutput=syslog
-StandardError=syslog+console
+++ /dev/null
-# Copyright (C) 2013 Colin Walters <walters@verbum.org>
-#
-# This library is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Lesser General Public
-# License as published by the Free Software Foundation; either
-# version 2 of the License, or (at your option) any later version.
-#
-# This library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public
-# License along with this library; if not, write to the
-# Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-# Boston, MA 02111-1307, USA.
-
-[Unit]
-Description=OSTree Remount OS/ bind mounts
-DefaultDependencies=no
-ConditionKernelCommandLine=ostree
-OnFailure=emergency.service
-Conflicts=umount.target
-After=-.mount
-After=systemd-remount-fs.service
-Before=local-fs.target umount.target
-
-[Service]
-Type=oneshot
-ExecStart=/usr/sbin/ostree-remount
-StandardInput=null
-StandardOutput=syslog
-StandardError=syslog+console
-
-[Install]
-WantedBy=local-fs.target
+++ /dev/null
-# Copyright (C) 2013 Colin Walters <walters@verbum.org>
-#
-# This library is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Lesser General Public
-# License as published by the Free Software Foundation; either
-# version 2 of the License, or (at your option) any later version.
-#
-# This library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public
-# License along with this library; if not, write to the
-# Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-# Boston, MA 02111-1307, USA.
-
-add_dracutmodules+=" ostree systemd "